package com.vegetable.modules.service.baseData;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vegetable.common.utils.PageUtils;
import com.vegetable.modules.entity.baseData.AddressBook;
import com.vegetable.modules.entity.baseData.po.AddressBookQueryDTO;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * <p>
 * 通讯录（农户,客商,代办,班组） 服务类
 * </p>
 *
 * @author wangruijie
 * @since 2024-03-07
 */
public interface IAddressBookService extends IService<AddressBook> {

    /**
     * 通讯录
     * @param params
     * @return
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 通讯录分页查询（使用DTO参数）
     * @param queryDTO 查询参数DTO
     * @return 分页结果
     */
    PageUtils queryPage(AddressBookQueryDTO queryDTO);

    // TODO  某功能触发修改初始欠款和应收金额

    /**
     * 根据客户名称查询客户
     * @param customerName
     * @return
     */
    AddressBook queryByName(String customerName, Integer staffType);

    AddressBook queryByAliseName(String customerName, Integer staffType);

    List<AddressBook> queryByNameList(List<String> customerNames, Integer staffType);

    AddressBook queryById(Long addressId);

    void updateBandNo(Long abId, String oldBankNos, String newBankNo);

    AddressBook selectByBankNo(String bankNo);

    AddressBook selectByMobile(String mobile);

    boolean removeById(Long id);
}